package com.burgeon.backend.SHOPBACKEND.service;

import com.burgeon.backend.SHOPBACKEND.entity.*;

import com.burgeon.backend.SHOPBACKEND.entity.FAB.FABVo;
import com.burgeon.backend.SHOPBACKEND.entity.FAB.FabEntity;
import com.burgeon.backend.SHOPBACKEND.service.ex.ErrorDataException;
import com.burgeon.backend.SHOPBACKEND.service.ex.InexistenceException;
import org.springframework.web.multipart.MultipartFile;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public interface AndroidService {

    String createQRcode(String ip,String id) throws ErrorDataException;

    //绑定二维码判断
    HashMap judgeQRcode(String ip,String id) throws ErrorDataException, InexistenceException;

    /*************************************App上传头像*************************************/
    void upVipImg(MultipartFile file,String ip, String erpVid,String openId,String uCardNo);

    /************************************上传品牌分组**********************************************/
    ArrayList<BrandApp> getBrandByIp(String ip);
    ArrayList<BrandApp> findBrandByName(String ip,String name);
    List<LinkGoodsVo> GetGoodsLinkByBrandId(String brandId, String ip, Integer page,String daoId);

    /**++++++++++++++++++++++++++++++++++商城素材++++++++++++++++++++++++++++++++++++++++*/

    //商城素材分组
    List<ClassifyVo> getClassify(String ip);

    List<ClassifyVo> findByName(String ip,String name);

    //根据小分类id获取商品
    List<Goods> getGoodsAll(String cIId,Integer start);

    List<LinkGoodsVo> getGoodsLink(String cIId, String ip, Integer start,String daoId);

    List<LinkGoodsVo> findByCode(String code,Integer start,String ip,String daoId);

/**++++++++++++++++++++++++++++品牌分组++++++++++++++++++++++++++++++++++++++++++++++*/
    //新增分组
    Integer insertMaterialGroup(MultipartFile file, String groupName, String ip);

    //查看所有分组
    ArrayList<MaterialGroup> findGroupByAccount(String ip);

    //删除分组
    Integer deGroupById(String id, String ip);

    //修改分组
    Integer upGroupName(MultipartFile file, String id, String groupName,String ip);

    //搜索分组
    ArrayList<MaterialGroup> findGroupByName(String ip,String groupName);

    /**+++++++++++++++++++++++++++++++++++++品牌素材+++++++++++++++++++++++++++++++++++++++++++++*/
    //新增素材(图片)
    Integer insertMaterial(MultipartFile[] files, String materialName, String groupId,
                           String imgDescribe, String ip,String price);
    //根据id修改分组
    Integer upMaterial(Material material);

    //修改顺序
    Integer upGroupId(String beforeId,String afterId);

    //根据id查看素材信息
    MaterialVo findMaterialById(String id);

    //查看所属分组素材
    ArrayList<MaterialEVo> getMaterialByGroupId(String ip,String groupId,String daoId);

    //查看所有
    //查看所属分组素材
    ArrayList<MaterialEVo> getMaterialAll(String ip,String daoId);

    //搜索
    ArrayList<MaterialEVo> findMaterialByName(String ip,String materialName,String daoId);

    /**+++++++++++++++++++++++++++++++++++++++++++m卖点培训++++++++++++++++++++++++++++++++++++++++++++*/
    FABVo findDataByCode(String code, String ip);

    List<FABVo> findFabByCodeOrName(String ip,String code);


}
